Many computers today have radios to support wireless communication. Wireless communication is used, for example, to connect to an access point of a network. By associating with the access point, a wireless computer can access devices on the network or on other networks reachable through that network, such as the Internet. As a result, the wireless computer can exchange data with many other devices, enabling many useful functions.
To enable computers to be configured for association with an access point, it is common for the access points to operate according to a standard. A common standard for devices that connect to access points is called WI-FI. This standard was promulgated by the WI-FI Alliance, and is widely used in portable computers. There are multiple versions of this standard, but any of them can be used to support connections through access points.
Wireless communications may also be used to form connections directly to other devices without using an access point. These connections are sometimes called “peer-to-peer” (P2P) connections and may be used, for example, to allow a computer to connect to a mouse or keyboard wirelessly. More generally, peer-to-peer connections may be used to establish a group of devices of any type that may communicate without requiring an infrastructure. Wireless communications for these direct connections also have been standardized. A common standard for low data rate wireless communications is called BLUETOOTH®.
In some instances, a wireless computer may concurrently connect to other devices through an access point and as part of a group engaging in peer-to-peer communications. More recently a standard has been proposed, called WI-FI DIRECT™, that enables both an infrastructure connection and communication as part of a peer-to-peer group with similar wireless communications. This standard, also published by the WI-FI Alliance, extends the popular WI-FI communications standard for infrastructure-based communications to support direct connections. The standard to implement WI-FI DIRECT™ may be referred to as P2P Specifications.
WI-FI and WI-FI DIRECT™ are examples of link layer protocols in accordance with the OSI layered model of network connectivity. This layered model defines the different levels at which connectivity is established between computing devices that are to communicate over a network, with each layer relying on communication being established at the lower layers. Accordingly, each layer has a protocol defining how communication can occur at that layer.
In this layered model, the lowest layer is the physical layer. In wireless communication, radios that transmit and receive signals that carry network communications make up the physical layer. Those radios operate according to a protocol so that information transmitted by one radio may be correctly received by another. The highest layer is the application layer. On the computing devices that are to be connected, applications are the sources and/or destinations of information communicated over the network, and those applications communicate according to an application layer protocol so that information sent by one application can be interpreted by another application that receives it.
Other intermediate layers have other protocols. Two such layers are Layer 2, the data link layer, and Layer 3, the network layer. At the data link layer, a protocol allows information to pass along a link between any two devices. Peer-to-peer protocols, such as WI-FI DIRECT™ and BLUETOOTH® are Layer 2 protocols.
A Layer 3 protocol allows devices that are interconnected through a network, or possibly multiple intervening devices, to communicate. A common Layer 3 protocol is the IP protocol. Under this protocol, devices are assigned IP addresses that allow devices on the network to process packets of information addressed with the IP address of a destination device such that the packet is routed to the device.
Protocols operating at Layer 2 and Layer 3 may include discovery mechanisms. For example, for a first device to form a peer-to-peer connection with a second device, the first device may first “discover” the second device. A Layer 2 protocol may specify communications one device can send, and responses other devices may make to those communications, to allow the devices to determine that they are close together and both configured to form a Layer 2 connection. A similar discovery mechanism may exist for devices that may connect over a Layer 3 protocol. Though, rather than engage in short range communications, the discovery protocol may allow one device to discover another device at any location reachable through Layer 3 communications.
Once the devices determine each other's presence at the discovery phase, they may “pair” by exchanging information. During pairing, the devices may exchange information about their capabilities. For example, when a personal computer pairs with a printer, the computer obtains information on the printer and its capabilities, and drivers for controlling the printer are installed on the computer. In addition, the information exchanged during pairing may allow the devices to reconnect at a later time without repeating the discovery protocol.
In some instances, a computing device may monitor for other devices, with which it has already paired, to determine whether the devices are connected to the network. The presence monitoring allows a device to maintain connections to other available remote devices so that a remote device can be accessed without a delay when its use is desired. For example, once a personal computer has paired with a printer at Layer 3, the computer may reestablish a Layer 3 connection to the printer at any time the printer is connected to the Layer 3 network. In this way, the computer can stream a document using the Layer 3 connection immediately in response to a user command to print the document, without requiring a further re-discovery and pairing.